/**
 * Copyright(c) by JNet Smartware Group.
 * All rights reserved. Not distribution or redistribution without
 * any permission of JNet Smartware Group.
 * 
 * @author thuc
 * 2010/03/15
 */
package vn.smartware.co.server.dao.factory;

import java.sql.Connection;
import java.util.ArrayList;

import vn.smartware.co.dto.MstDrinkDTO;
import vn.smartware.co.dto.MstPriceDTO;
import vn.smartware.co.forms.RegisterDrinkForm;
import vn.smartware.co.forms.RegisterFoodForm;
import vn.smartware.co.framework.bean.LoginDTO;
import vn.smartware.co.framework.exception.ServerException;

/**
 * AbstractRegisterFoodDAO
 * @author thuctt
 */
@SuppressWarnings({"rawtypes"})
public abstract class AbstractRegisterDrinkDAO {

	/**
	 * get food list
	 * @param form 
	 * @param user 
	 * @param conn
	 * @return ArrayList
	 * @throws ServerException
	 */
	abstract public ArrayList getDrinkList(RegisterDrinkForm form, LoginDTO user,
			Connection conn) throws ServerException;

	/**
	 * getUnitList
	 * @param form
	 * @param user
	 * @param conn
	 * @return ArrayList
	 * @throws ServerException
	 */
	abstract public ArrayList getUnitList(RegisterFoodForm form, LoginDTO user,
			Connection conn) throws ServerException;

	/**
	 * registerDrink
	 * @param drink
	 * @param user
	 * @param conn
	 * @return String
	 * @throws ServerException
	 */
	abstract public String registerDrink(MstDrinkDTO drink, LoginDTO user,
			Connection conn) throws ServerException;

	/**
	 * updateDrink
	 * @param drink
	 * @param user
	 * @param conn
	 * @throws ServerException
	 */
	abstract public void updateDrink(MstDrinkDTO drink, LoginDTO user,
			Connection conn) throws ServerException;

	/**
	 * deleteDrink
	 * @param drinkNo
	 * @param user
	 * @param conn
	 * @throws ServerException
	 */
	abstract public void deleteDrink(String drinkNo, LoginDTO user,
			Connection conn) throws ServerException;

	/**
	 * registerPrice
	 * @param drinkNo
	 * @param price
	 * @param user
	 * @param conn
	 * @throws ServerException
	 */
	abstract public void registerPrice(String drinkNo, MstPriceDTO price,
			LoginDTO user, Connection conn) throws ServerException;

	/**
	 * deletePriceList
	 * @param drinkNo
	 * @param user
	 * @param conn
	 * @throws ServerException
	 */
	abstract public void deletePriceList(String drinkNo, LoginDTO user,
			Connection conn) throws ServerException;

}
